package Exams.MeituanPack.TreeTaker;


import java.util.*;

public class Main {
    // 设定一个初始大小
    static int N = 100;
    // 记录一个树各个节点可能的值或者其他属性
    static int[] vals = new int[N];
    // 记录每个节点的子节点 理论上来说，利用arr.get(index) 其中index就是你要获取的节点index 获取到的数组就是它的子节点们
    static Map<Integer, List<Integer>> Nodes = new HashMap<>();
    static int root;
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        // 树节点的数量
        int n = input.nextInt();
        // 笔试中一般使用1开始
        for (int i = 1; i <= n; i++) {
            vals[i] = input.nextInt();
            Nodes.put(i, new ArrayList<>());
        }
        // 为一颗树录入它的所有父子节点情况
        for (int i = 1, binNode; i <= n; i++) {
            binNode = input.nextInt();
            if (binNode == 0) {
                // 代表这第i个节点是根节点
                root = i;
            }else {
                // 拿到这个节点的子数组，加入这个新的子节点i
                List<Integer> value = Nodes.get(binNode);
                value.add(i);
                Nodes.put(binNode, value);
            }
        }
        

    }
    public void dfs(){

    }
}
